AWS WAF AWS マネージドルール が3/3に更新され、複数のURLを含むURIの動作に変更が入っていました
以下のAWS WAF AWS マネージドルール が3/3日付で、更新されています
https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-changelog.html
(日本語版のドキュメント更新が遅れる場合がありますので、最新の情報を確認したい方は英語版で確認をしてください)
ルールグループ | ルールグループ名 | 影響を受けるルール | 説明 | 日付 |
---|---|---|---|---|
Core rule set (CRS) | AWSManagedRulesCommonRuleSet | GenericRFI_QUERYARGUMENTS | Added double URL decode. | Mar 03, 2021 |
Core rule set (CRS) | AWSManagedRulesCommonRuleSet | RestrictedExtensions_URIPATH | Improved the configuration of the rules and added an extra URL decode. | Mar 03, 2021 |
Admin protection | AWSManagedRulesAdminProtectionRuleSet | AdminProtection_URIPATH | Added double URL decode. | Mar 03, 2021 |
Known bad inputs | AWSManagedRulesKnownBadInputsRuleSet | ExploitablePaths_URIPATH | Improved the configuration of the rules and added an extra URL decode. | Mar 03, 2021 |
Linux operating system | AWSManagedRulesLinuxRuleSet | LFI_QUERYARGUMENTS | Improved the configuration of the rules and added an extra URL decode. | Mar 03, 2021 |
変更内容
適用されるパスは、各ルールによります。また検出の詳細については非公開になりますが、URIの中に2重にhttpsがある場合、URIの途中や、クエリ文字列中に別のURL https://www.hoge.com/aaa などが含まれる場合などが、追加検出の対象となるようです
例: https://wwww.hoge.com/aaa.index.html?path=https://www.fuga.com/bbbb/
どうしたらいい?
AWS マネージドルールをWAFに適用していれば、ルールは自動的に更新されますので、特に更新作業などの対処は不要になります
検出されているかどうかの確認
直近3時間程度であれば、AWSコンソールのAWS WAFのページで確認できます。
https://console.aws.amazon.com/wafv2/homev2/web-acls?region=global
コンソールから該当のルール(ACL)を選択し、(この場合はAWSManagedRulesCommonRuleSet)、該当するルースセットをリストから選んで、検出状況を確認してください
3時間以前の状況を確認したい場合は、WAFのログを出力することを検討し、実施してください
ログでの検知方法
WAF ログをご確認いただき、当該ルールで Block されたログフィールドの "httpRequest" 内の "URI" 項目に、2回 URL エンコードされた内容が出力されているかどうかでご確認できます
WAF ログ例:
"action": "BLOCK", "ruleGroupList": [ { "ruleGroupId": "AWS#AWSManagedRulesCommonRuleSet", "terminatingRule": { "ruleId": "RestrictedExtensions_URIPATH", "action": "BLOCK", "ruleMatchDetails": null }, } "httpRequest": { "uri": "/test%252Eini" <<< test.ini を 2 回 URL エンコードした際の例
誤検出の疑いがある場合
該当するルールのみ個別に検出からカウントに動作を変更する事ができます。
AWS WAFのコンソールを開き、該当するルールを選択し、[Override rules action]のトグルをONに変更してください
※GenericRFI_QUERYARGUMENTS の場合です、今回該当する他のルールも併せて実施する場合はそれぞれのルールグループセットより該当のルールに対して実施してください
AWSManagedRulesCommonRuleSet
- GenericRFI_QUERYARGUMENTS
- RestrictedExtensions_URIPATH
AWSManagedRulesAdminProtectionRuleSet
- AdminProtection_URIPATH
AWSManagedRulesKnownBadInputsRuleSet
- ExploitablePaths_URIPATH
AWSManagedRulesLinuxRuleSet
- LFI_QUERYARGUMENTS
動作をカウントに変更した場合の今後の対応
脆弱性のブロック動作を検知からカウントするように変更した場合、該当するルールの必要な予防対応が実施されていない状況になりますので WAFログの出力や定期的な確認を行い、該当する脆弱性を利用したような攻撃が実施されていないか確認する必要があります。
また、誤検出したアクセス方法の変更が可能であれば修正を実施し、検出されてなければ検出を有効にし、検知することをお勧めします。